package cn.wj.school.cloud.service;

import cn.wj.school.cloud.dto.PageResponse;
import cn.wj.school.cloud.dto.SyUserDTO;
import cn.wj.school.cloud.dto.condition.UserCondition;

import java.util.List;

/**
 * @Author: yueding
 * @Description:
 * @Date: Created in 15:11 2018/4/12
 * @Modified By: Copyright(c) cai-inc.com
 */
public interface UserService {
    /**
     * 通过用户登录账户获取用户信息
     * 
     * @param account
     * @return
     */
    SyUserDTO getUserByUserAccount(String account);

    /**
     * 用户id获取用户信息
     * 
     * @param userId
     * @return
     */
    SyUserDTO getUserByUserId(Long userId);


    /**
     * 分页查询用户信息
     * 
     * @param condition
     * @return
     */
    PageResponse<SyUserDTO> getUsersByCondition(UserCondition condition);

    /**
     * 修改密码
     * 
     * @param userId
     * @param password
     */
    void updateUserPwd(Long userId, String password);


    /**
     * 保存用户
     * 
     * @param user
     */
    void saveUser(SyUserDTO user);

    /**
     * 删除用户
     * 
     * @param userId
     */
    void removeUser(Long userId);


    /**
     * 修改用户
     * 
     * @param user
     * @param user
     */
    void modifyUser(SyUserDTO user);

}
